package com.myhkvideo.yulongbpcdemo.mapper;

import com.myhkvideo.yulongbpcdemo.entity.MetalAndGradeAndRateDayInfoData;
import org.apache.ibatis.annotations.*;
import java.util.Date;

@Mapper
public interface MetalAndGradeAndRateDayInfoMapper {

    /**
     * 检查数据是否存在
     * @param createTime 创建时间
     * @return 存在返回 1，不存在返回 0
     */
    @Select("SELECT COUNT(*) FROM DayProductData WHERE 时间 = #{createTime}")
    int checkDataExists(Date createTime);

    /**
     * 插入新数据
     * @param data 数据对象
     */
    @Insert("INSERT INTO DayProductData (ID, 时间, 一车间铜金属量, 一车间钼金属量, 二车间铜金属量, 二车间钼金属量, 冶炼厂金属量, 总铜金属量, 总钼金属量, 一车间铜精矿品位, 一车间钼精矿品位, 二车间铜精矿品位, 二车间钼精矿品位, 一车间铜回收率, 一车间钼回收率, 二车间铜回收率, 二车间钼回收率) " +
            "VALUES (#{id}, #{createTime}, #{d_ycjjsl_cu}, #{d_ycjjsl_mo}, #{d_ecjjsl_cu}, #{d_ecjjsl_mo}, #{d_ylcjsl}, #{d_total_cu}, #{d_total_mo}, #{d_ycjjkpw_cu}, #{d_ycjjkpw_mo}, #{d_ecjjkpw_cu}, #{d_ecjjkpw_mo}, #{d_ycjhsl_cu}, #{d_ycjhsl_mo}, #{d_ecjhsl_cu}, #{d_ecjhsl_mo})")
    @Options(useGeneratedKeys = true, keyProperty = "id")
    void insertData(MetalAndGradeAndRateDayInfoData data);

    /**
     * 更新现有数据
     * @param data 数据对象
     */
    @Update("UPDATE DayProductData SET 一车间铜金属量 = #{d_ycjjsl_cu}, 一车间钼金属量 = #{d_ycjjsl_mo}, 二车间铜金属量 = #{d_ecjjsl_cu}, 二车间钼金属量 = #{d_ecjjsl_mo}, 冶炼厂金属量 = #{d_ylcjsl}, 总铜金属量 = #{d_total_cu}, 总钼金属量 = #{d_total_mo}, 一车间铜精矿品位 = #{d_ycjjkpw_cu}, 一车间钼精矿品位 = #{d_ycjjkpw_mo}, 二车间铜精矿品位 = #{d_ecjjkpw_cu}, 二车间钼精矿品位 = #{d_ecjjkpw_mo}, 一车间铜回收率 = #{d_ycjhsl_cu}, 一车间钼回收率 = #{d_ycjhsl_mo}, 二车间铜回收率 = #{d_ecjhsl_cu}, 二车间钼回收率 = #{d_ecjhsl_mo} WHERE 时间 = #{createTime}")
    void updateData(MetalAndGradeAndRateDayInfoData data);
}